#ifndef SOBJC_COMMONS_UTILS_H
#define SOBJC_COMMONS_UTILS_H

#include <sobjc-commons/port.h>
#include <sobjc-commons/str_list.h>

OBJC_EXPORT char *objc_get_temp_dir();
OBJC_EXPORT char *objc_make_temp_name(const char *, const char *);
OBJC_EXPORT char *objc_make_unique_name(const char *, const char *);
OBJC_EXPORT char *objc_join_path_comps(char *, ...);
OBJC_EXPORT char *objc_join_path_compv(char *, va_list);
OBJC_EXPORT char *objc_join_path_compm(char **);
OBJC_EXPORT char *objc_join_path_comp_list(objc_str_list_t);
OBJC_EXPORT const char *objc_get_path_ext(const char *);
OBJC_EXPORT char *objc_add_ext_to_path(const char *, const char *);
OBJC_EXPORT BOOL objc_exists_file(const char *);

OBJC_EXPORT int objc_invoke_cmd(const char *, int, char **);
OBJC_EXPORT int objc_invoke_cmd_with_arg_list(objc_str_list_t);

#endif /* SOBJC_COMMONS_UTILS_H */

